<?php

include('includes/structure.php');

function fks_main() {

$accion = $_POST["accion"];

switch ($accion) {
	case "validar":
		//en cuanto encuentro algo que no valida, esta variable la seteo en falso
		$validacion = true;
		//recupero los valores de los campos
		$tx_nombre = $_POST["tx_nombre"];
		$tx_apellido = $_POST["tx_apellido"];
		$nu_dia_nacimiento = $_POST["nu_dia_nacimiento"];
		$nu_mes_nacimiento = $_POST["nu_mes_nacimiento"];
		$nu_anio_nacimiento = $_POST["nu_anio_nacimiento"];
		$cd_tipodocumento = $_POST["cd_tipodocumento"];
		$nu_documento = $_POST["nu_documento"];
		$tx_mail = $_POST["tx_mail"];
		$cd_empresa = $_POST["cd_empresa"];
		$cd_perfil = $_POST["cd_perfil"];
		//validaciones
		if (!validar_nombre($tx_nombre)) {
			$validacion = false;
			fks_msg_handler(VAL_NOMBRE_VACIO);
			};
		//si es una persona, tiene que tener el apellido
		if (!validar_nombre($tx_apellido)) {
			$validacion = false;
			fks_msg_handler(VAL_APELLIDO_VACIO);
			};
		//el usuario no selecciono la organizacion a la que corresponde el usuario que desea dar de alta
		if ($cd_empresa == 0) {
			$validacion = false;
			fks_msg_handler(VAL_ORGANIZACION);
			};
		if (validar_vacio($nu_dia_nacimiento) || validar_vacio($nu_mes_nacimiento) || validar_vacio($nu_anio_nacimiento)) {
			$validacion = false;
			fks_msg_handler(VAL_FC_NAC);
			}
		else {
			$edad = date("Y") - $nu_anio_nacimiento;
			if (($edad < MIN_EDAD) || ($edad > MAX_EDAD)) {
				$validacion = false;
				fks_msg_handler(VAL_FC_NAC_INVALIDA);
				};
			};
		$tx_fc_nacimiento = $nu_anio_nacimiento."-".$nu_mes_nacimiento."-".$nu_dia_nacimiento;
		if ($cd_tipodocumento == 0) {
			$validacion = false;
			fks_msg_handler(VAL_TIPO_DOC);
			}
		else {
			//falta validar que sea un numero,
			if ( (validar_vacio($nu_documento)) || (!is_numeric($nu_documento))) { 
				$validacion = false;
				fks_msg_handler(VAL_NU_DOCUMENTO);
				};
			};
		//valido que la direccion de correo no este vacia
		if (validar_vacio($tx_mail)) {
			$validacion = false;
			fks_msg_handler(VAL_EMAIL);
			}
		else 
			{
			//valido que la direccion de correo electronico sea correcta
			if (!validar_mail($tx_mail)) {
				$validacion = false;
				fks_msg_handler(VAL_EMAIL);
				};
			};
		$vec_mail = explode("@",$tx_mail);
		if ($cd_perfil == '0') {
			$validacion = false;
			fks_msg_handler(VAL_PERFIL);
			};
		if ($validacion) {
			//alta de usuario
			$tx_password = "12345678";
			$sql = "call sp_i_usuarioprivado (".$cd_tipodocumento.",".$nu_documento.",'".$vec_mail[1]."','".$vec_mail[0]."','".$tx_password."','null','null','".$tx_apellido."','".$tx_nombre."','".$tx_fc_nacimiento."',".$cd_empresa.",'".$cd_perfil."')";
			if ($resultados = dbh_query($sql)) {
				//obtengo el nuevo cd_entidad
				$fila = dbh_fetch($resultados);
				//reseteo el password
				$nueva_entidad = $fila["cd_entidad"];
				$sql = "call sp_u_resetpwd(".$nueva_entidad.");";
				$resultados = dbh_query($sql);
				if ($resultados) {
					$fila = dbh_fetch($resultados);
					$tx_password_hasheado = substr(sha1($fila["tx_password"]),0,20);
					$sql = "update usuario set tx_password = '".$tx_password_hasheado."' where cd_entidad = ".$nueva_entidad;
					$resultados = dbh_query($sql);
					if ($resultados) {
						echo "El password asignado al usuario es ".$fila["tx_password"]."<br>";
						echo "El password hasheado en PHP es ".$tx_password_hasheado."<br>";
						fks_msg_handler(ALTA_OK);
						}
					else
						fks_msg_handler(ALTA_ERROR);	
					}
				else
					fks_msg_handler(ALTA_ERROR);
				}
			else {
				fks_msg_handler(ALTA_ERROR);
				}
			}//fin de la parte verdadera del if de validacion
		else {
			//formulario para completar nuevamente, con los datos ya ingresados
			include("form_abmusuario.php");	
			};
		break;
	default:
		//formulario por defecto
		include("form_abmusuario.php");
		break;
	}//fin switch
}//fin main
?>